//
//  NSDate+Compare.h
//  CToolBox
//
//  Created by crj on 16/8/9.
//  Copyright © 2016年 oyf. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (Compare)

/**
 *  获取某个时间几天后的时间
 *
 *  @param date 某时间
 *
 *  @param afterDays 几天后
 *
 *  @return 最终时间
 */

+ (NSDate *)getLastDateWithDate:(NSDate *)date afterDays:(long)afterDays;

/**
 *  计算两个NSDate间隔天数
 *
 *  @param serverDate 开始时间
 *
 *  @param endDate 结束时间
 *
 *  @return 间隔天数
 */
+(NSInteger)getDaysFrom:(NSDate *)serverDate To:(NSDate *)endDate;


/**
 *  是否是当天
 */
+ (BOOL)isToday:(NSDate *)date;

/**
 *  是否是同一天
 */
+ (BOOL)isSameDayWithOldDate:(NSDate *)oldDate newDate:(NSDate *)newDate;

/**
 *  是否到该时间
 *
 *  @param date 该时间
 *
 *  @return BOLL
 */
+ (BOOL)timeOfArrivalToDate:(NSDate *)date;

/**
 *  倒计时
 *
 *  @return eg. HH:mm:ss
 */
- (NSString *)countdown;

/**
 *  string 转 date
 *
 *  @param string eg.1990-09-19 14:00:00
 *
 *  @return date
 */
+ (NSDate *)dateFromeString:(NSString *)string;

/**
 date 转 string

 @param date NSDate
 @return string eg.1990-09-19 14:00:00
 */
+ (NSString *)stringFromeDate:(NSDate *)date;


+ (NSString *)stringDateFromeDate:(NSDate *)date;

/**
 *  date 转 string
 *
 *  @param date NSDate
 *
 *  @param dateFormat eg.yyyy-MM-dd HH:mm:ss
 *
 *  @return string eg.1990-09-19 14:00:00
 */
+ (NSString *)stringFromeDate:(NSDate *)date dateFormat:(NSString *)dateFormat;

/**
 *  string 转 date
 *
 *  @param string 时间
 *
 *  @param dateFormat eg.yyyy-MM-dd HH:mm:ss
 *
 *  @return NSDate
 */
+ (NSDate *)dateFromeString:(NSString *)string dateFormat:(NSString *)dateFormat;

/**
 *  是否是工作时间(周一至周五  9:00-17:00)
 **/
+ (BOOL)isWorkTime;


/**
 *  获取指定日期是周几 
 *  eg.1、2、3、4、5、6、7、（七，一，二，三，四，五，六）
 **/
+ (int)getWeekdayFromDate:(NSDate*)date;

/**
 * 获取指定时间的小时（24）
 **/
+ (int)getHourFromDate:(NSDate*)date;

/**
 * 生成一个date对象
 **/
+ (NSDate *)dateWithYear:(int)year month:(int)month day:(int)day;

/**
 生成一个当年当月的date对象

 @param day 日
 @return NSDate
 */
+ (NSDate *)dateWithDay:(int)day;
@end
